package top.ffhome.common.page;

import java.util.HashMap;
import java.util.Map;

import cn.hutool.core.util.StrUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

/** 分页请求 */
@ApiModel
public class PageRequest {
	/** 当前页码 */
	@Getter
	@Setter
	@ApiModelProperty(value = "当前页码")
	private int pageNum = 1;

	/** 每页数量 */
	@Getter
	@Setter
	@ApiModelProperty(value = "每页数量")
	private int pageSize = 10;

	/** 排序列 */
	@Getter
	@Setter
	@ApiModelProperty(value = "排序列")
	private String sortby;

	/** 排序的方向 "desc" 或者 "asc". */
	@Getter
	@Setter
	@ApiModelProperty(value = "排序的方向 'desc' 或者 'asc'.")
	private String order;

	/** 请求参数 */
	@Getter
	@Setter
	@ApiModelProperty(value = "请求参数")
	private Map<String, Object> params = new HashMap<String, Object>();

	@ApiModelProperty(hidden = true)
	public String getOrderBy() {
		if (StrUtil.isEmpty(sortby)) {
			return "";
		}
		return StrUtil.toUnderlineCase(sortby) + (order != null ? " " + order : "");
	}
}
